odibowling2007 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2007odibowlingrating.csv")
odibowling2008 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2008odibowlingrating.csv")
odibowling2009 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2009odibowlingrating.csv")
odibowling2010 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2010odibowlingrating.csv")
odibowling2011 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2011odibowlingrating.csv")
odibowling2012 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2012odibowlingrating.csv")
odibowling2013 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2013odibowlingrating.csv")
odibowling2014 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2014odibowlingrating.csv")
odibowling2015 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2015odibowlingrating.csv")
odibowling2016 <- read.csv("D:\\Vishal\\III year\\Data Analytics\\Assignment II\\Player Ratings\\2016odibowlingrating.csv")

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
dataOdiBowling <- bind_rows(odibowling2007, odibowling2008, odibowling2009, odibowling2010, odibowling2011,
                            odibowling2012, odibowling2013, odibowling2014, odibowling2015, odibowling2016)
## Warning in bind_rows_(x, .id): Unequal factor levels: coercing to character
## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector

## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector

## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector

## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector

## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector

## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector

## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector

## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector

## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector

## Warning in bind_rows_(x, .id): binding character and factor vector,
## coercing into character vector
summary(dataOdiBowling)
##      Name               Rating        LogRating    
##  Length:1000        Min.   :328.0   Min.   :2.516  
##  Class :character   1st Qu.:417.8   1st Qu.:2.621  
##  Mode  :character   Median :481.0   Median :2.682  
##                     Mean   :497.9   Mean   :2.689  
##                     3rd Qu.:571.0   3rd Qu.:2.757  
##                     Max.   :874.0   Max.   :2.942
library(ggplot2)

dataOdiBowling <- dataOdiBowling %>%
  group_by(Name) %>%
  summarise(avg = mean(Rating))

set.seed(20)

ballcluster <- kmeans(dataOdiBowling[, 2], 5)

ballcluster$cluster <- as.factor(ballcluster$cluster)

ggplot(dataOdiBowling, aes(dataOdiBowling$Name, avg, color = ballcluster$cluster)) +
  geom_point(size = 2) +
  scale_color_manual(labels = c("Good", "Best", "Useless", "Better", "Average"), values = c("blue", "red", "green", "cyan", "black")) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
  ggtitle("ODI Bowling Ratings(2007-2016)")

dat <- arrange(dataOdiBowling, desc(avg)) %>%
  mutate(rank = 1:nrow(dataOdiBowling))

dataOdiBowling <- merge(dataOdiBowling, dat, by  = "Name") 

library(plotly)
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
p <- plot_ly(dataOdiBowling, x = ~Name, y = ~avg.x, type = 'scatter', 
             mode = 'markers', color = ballcluster$cluster, 
             text = ~paste('Rank: ', rank))

p
dat
## # A tibble: 259 x 3
##    Name             avg  rank
##    <chr>          <dbl> <int>
##  1 S M Pollock     874      1
##  2 N W Bracken     752.     2
##  3 T A Boult       729      3
##  4 W P U Vaas      722.     4
##  5 S E Bond        717.     5
##  6 D L Vettori     687.     6
##  7 S P Narine      686.     7
##  8 A Nel           668      8
##  9 M Muralitharan  668.     9
## 10 D W Steyn       661.    10
## # ... with 249 more rows